home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Loadstar 27
/
027.d81
/
phone words
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2022-08-26
|
4KB
|
128 lines
0 poke53280,6:poke53281,6:poke646,1
1 dimvt$(24):dimht$(40)
2 diml$(10,4):t$="123456789*0#"
3 for a = 0 to 9:forb=1to4
4 read l$(a,b):next:next
5 vt$(1)=chr$(19):fori=2to24:vt$(i)=vt$(i-1)+chr$(17):next
6 ht$(1)=chr$(145)+chr$(13):fori=2to40:ht$(i)=ht$(i-1)+chr$(29):next
7 s=54272:fori=.to23:pokes+i,.:next
8 f=.0596064645:pokes+24,15
9 fori=.to3:readp:v%(i)=p/f+.5:next:fori=.to2:readp:h%(i)=p/f+.5:next
10 print"[147]";:f=1:gosub 800:f=0
15 print"[147]";
20 printvt$(1);
30 print "---------------------------------------"
40 print " [208]hone words"
50 printht$(8);
60 print " (c) 1986 [194].[202]. [198]ontenot "
70 print "---------------------------------------"
80 print
100 rem data
110 data 0,,,
120 data 1,,,
130 data 2,a,b,c
140 data 3,d,e,f
150 data 4,g,h,i
160 data 5,j,k,l
170 data 6,m,n,o
180 data 7,p,r,s
190 data 8,t,u,v
200 data 9,w,x,y
260 rem num->alpha
265 t$="":wp$=""
270 input "[212]el # (numeric/alpha): ";t$: if t$ = "" then 270
280 print
290 for n = 1 to len (t$)
300 ch$ = mid$ (t$,n,1)
305 gosub 700
310 if val (ch$) < 1 and ch$ < > "0" then gosub 530: goto 400
320 wp$ = wp$ + ch$
330 print "[208]ossible letters: ";
340 printht$(26);
350 print ch$;" ";:v = val (ch$): gosub 1100
360 for m = 2 to 4
370 print l$(val (ch$),m);" ";
380 next m
390 print
400 next n
410 for n = 1 to len (t$)
430 print
440 print "[196]ialing your number...":p$=wp$:gosub30000
450 print:print
460 print "[212]ranslate another? ([217]/[206]): ";
470 poke198,0:wait198,1:get an$: print an$
480 if an$ = "[217]" or an$ = "y" then print : print : goto15
490 ifan$="[206]"oran$="n"thenfori=.to24:pokes+i,.:next:goto63000
500 printht$(1)" "
510 goto 460
520 end
530 rem
540 ifch$="-"orch$="/"orch$=" "orch$="(" thenwp$=wp$+ch$:goto630
545 ifch$=")"orch$="0"orch$="[218]"orch$="[209]"orch$="z"orch$="q"thenwp$=wp$+ch$:goto630
550 print "[206]umeric to alpha: ";
560 printht$(21);
570 for a = 0 to 9
580 for b = 2 to 4
590 if l$(a,b) = ch$ then ad$ = l$(a,1)
600 next b,a
610 print ch$;:v = val (ad$): gosub 1100;: print " -> ";ad$
620 wp$ = wp$ + ad$
630 return
700 v = asc (ch$): if v < 91 then 750
710 v = v - 32:ch$ = chr$ (v)
750 return
800 printvt$(3);: printht$(13);: print "***************"
801 for x = 1 to 3: printht$(13);: print "* *": next
807 printht$(13);: print "***************"
810 printvt$(9);: printht$(19);: print "by"
820 printvt$(11);: printht$(13);: print "[194]arney [198]ontenot"
830 printvt$(18);: print " [204]oadstar is not public domain."
840 print : print " [208]lease respect the author's rights."
843 s=54272:pokes+5,.:pokes+6,240:pokes+12,.:pokes+13,240:pokes+3,8:pokes+10,8
845 gosub 900
850 printvt$(23);: printht$(10);: print "[208]ress a key to start";
855 poke198,0:wait198,1:getkey$:return
900 ht = 15:vt = 5
910 printvt$(vt);: printht$(ht);: print "[208]":v = 7: gosub 1100
920 ht = ht + 1: printvt$(vt);: printht$(ht);: print "[200]":v = 4: gosub 1100
930 ht = ht + 1: printvt$(vt);: printht$(ht);: print "[207]":v = 6: gosub 1100
940 ht = ht + 1: printvt$(vt);: printht$(ht);: print "[206]":v = 6: gosub 1100
950 ht = ht + 1: printvt$(vt);: printht$(ht);: print "[197]":v = 3: gosub 1100
960 ht = ht + 2: printvt$(vt);: printht$(ht);: print "[215]":v = 9: gosub 1100
970 ht = ht + 1: printvt$(vt);: printht$(ht);: print "[207]":v = 6: gosub 1100
980 ht = ht + 1: printvt$(vt);: printht$(ht);: print "[210]":v = 7: gosub 1100
990 ht = ht + 1: printvt$(vt);: printht$(ht);: print "[196]":v = 3: gosub 1100
1000 ht = ht + 1: printvt$(vt);: printht$(ht);: print "[211]":v = 7: gosub 1100
1010 return
1100 k = v: if k = 0 then k = 10
1110 rempoke 772,90: poke 769,250: call 2058: for c = 1 to 60: next
1120 iff=1thenp=ht-14:j=len(t$):v%=p/3:h%=p-3*v%:p1%=h%(h%):p2%=v%(v%):gosub30080
1130 for c = 1 to 80: next
1140 return
30000 s=54272:pokes+5,.:pokes+6,240:pokes+12,.:pokes+13,240:pokes+3,8:pokes+10,8
30010 f=.059604645
30025 t$="123456789*0#"
30030 gosub30135:pokes+4,8
30035 fori=1tolen(p$):a$=mid$(p$,i,1):printa$;:forj=1tolen(t$)
30040 ifa$<>mid$(t$,j,1)thennext:next:goto30055
30045 p=j-1:j=len(t$):next:v%=p/3:h%=p-3*v%:p1%=h%(h%):p2%=v%(v%):gosub30080:next
30050 fordl=1to600:next:gosub30090
30055 return
30060 data697,770,852,941:rem vertical touch-tone pitches
30065 data1209,1336,1477:rem horizontal touch-tone pitches
30080 pokes,p1%and255:pokes+1,p1%/256:pokes+7,p2%and255:pokes+8,p2%/256
30085 pokes+4,17:pokes+11,17:forp=1to75:next:pokes+4,.:pokes+11,.:return
30090 t1%=7430:t2%=7000:forp=1to1:pokes+4,17:fori=1to60
30095 pokes,t1%and255:pokes+1,t1%/256
30100 pokes,t2%and255:pokes+1,t2%/256:next
30105 pokes+4,.:fori=1to900:next:next:pokes+4,.
30110 pokes+4,.:fori=1to20:next:pokes+4,.:return
30135 rem carrier tone
30136 t%=7217
30140 pokes,t%and255:pokes+1,t%/256:forp=1to200:pokes+4,16:pokes+4,17:next
30145 pokes+4,16:return
63000 rem re-connect
63005 open15,8,15,"r0:hello connect=hello connect":input#15,er:close15
63010 ifer<>63thenend
63020 load"hello connect",8